home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITScreen.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-01-18  |  2.2 KB  |  113 lines

  1. //
  2. //               CITScreen include
  3. //
  4. //                              StormC
  5. //
  6. //               version 2003.01.18
  7. //
  8.  
  9. #ifndef CIT_CITSCREEN_H
  10. #define CIT_CITSCREEN_H TRUE
  11.  
  12. #include "CITApp.h"
  13.  
  14. #include <graphics/text.h>
  15. #include <intuition/screens.h>
  16.  
  17. #define DEF_MONITOR    ~0x00000000    // INVALID_D forces WB-type
  18. #define PAL_HIRES       0x00029000
  19. #define PAL_HIRESLACE   0x00029004
  20. #define NTSC_HIRES      0x00019000
  21. #define NTSC_HIRESLACE  0x00019004
  22.  
  23. class CITScreenClass;
  24.  
  25. class CITScreen:public CITAppClass
  26. {
  27.   public:
  28.     TTextAttr defTextAttr;
  29.     TextFont* defTextFont;
  30.     Screen*   screen;
  31.  
  32.     CITScreen();
  33.     CITScreen(char *Name);
  34.     ~CITScreen();
  35.  
  36.     void InsObject(CITScreenClass &Object,BOOL &Err);
  37.     void RemObject(CITScreenClass &Object);
  38.     void Depth(UWORD d);
  39.     void Display(ULONG ID);
  40.     void Display(char *Name);
  41.     void Display(Screen *sc);
  42.     void ScreenFont(char *name, short Height, short Width = 0);
  43.     void DefaultFont(char *name, short Height, short Width = 0);
  44.     void Caption(char *title);
  45.     void AutoScroll();
  46.     void Interleaved();
  47.     void ToFront();
  48.     void ToBack();
  49.  
  50.     UWORD Depth();
  51.     ULONG Display() { return displayMode;}
  52.     
  53.   protected:
  54.     friend class CITApp;
  55.  
  56.     virtual BOOL Create(class CITApp* CITApp);
  57.     virtual void Delete();
  58.     virtual void HandleEvent(ULONG Sigs);
  59.  
  60.     void openScreen();
  61.     void closeScreen();
  62.     
  63.     struct DrawInfo* drawinfo;
  64.  
  65.   private:
  66.     CITList   objectList;
  67.     Screen*   useScr;
  68.     ULONG     displayMode;
  69.     TTextAttr scrTextAttr;
  70.     TextFont* scrTextFont;
  71.     char*     screenName;
  72.     char*     defaultTitle;
  73.     UWORD     Pens_3D;
  74.     UWORD     depth;
  75.     UWORD     flags;
  76.  
  77.     void SetUp(UWORD Depth);
  78. };
  79.  
  80. class CITWorkbench:public CITScreen
  81. {
  82.   public:
  83.     CITWorkbench() { Display("Workbench");}
  84. };
  85.  
  86. class CITScreenClass:public CITNode
  87. {
  88.   public:
  89.     CITScreen* CITScr;
  90.     
  91.     CITScreenClass();
  92.     ~CITScreenClass();
  93.  
  94.     DrawInfo* drawinfo;
  95.  
  96.   protected:
  97.     friend class CITScreen;
  98.     
  99.     virtual BOOL Create(class CITScreen* scr);
  100.     virtual void Delete(); 
  101.     virtual void Notify(ULONG event);
  102.     virtual void HandleEvent(ULONG Sigs);
  103.  
  104.     ULONG  eventSigMask;
  105. };
  106.  
  107. // Notification events
  108. //
  109. #define SCREENCLOSE 0
  110. #define SCREENOPEN  1
  111.  
  112. #endif
  113.